using System;
using ns27;

namespace Triton.Game.Mapping
{
	[Attribute38("AnimatedLowPolyPack")]
	public class AnimatedLowPolyPack : MonoBehaviour
	{
		public enum State
		{
			UNKNOWN,
			FLOWN_IN,
			FLYING_IN,
			FLYING_OUT,
			HIDDEN
		}

		public Vector3 PUNCH_POSITION_AMOUNT => method_2<Vector3>("PUNCH_POSITION_AMOUNT");

		public float PUNCH_POSITION_TIME => method_2<float>("PUNCH_POSITION_TIME");

		public FirstPurchaseBox m_FirstPurchaseBox => method_3<FirstPurchaseBox>("m_FirstPurchaseBox");

		public GameObject m_AmountBanner => method_3<GameObject>("m_AmountBanner");

		public UberText m_AmountBannerText => method_3<UberText>("m_AmountBannerText");

		public GameObject m_amountFlash => method_3<GameObject>("m_amountFlash");

		public string m_FlyOutSound => method_4("m_FlyOutSound");

		public string m_FlyInSound => method_4("m_FlyInSound");

		public Vector3 m_flyInLocalAngles => method_2<Vector3>("m_flyInLocalAngles");

		public Vector3 m_flyOutLocalAngles => method_2<Vector3>("m_flyOutLocalAngles");

		public Vector3 m_targetOffScreenLocalPos => method_2<Vector3>("m_targetOffScreenLocalPos");

		public Vector3 m_targetLocalPos => method_2<Vector3>("m_targetLocalPos");

		public State m_state => method_2<State>("m_state");

		public int m_lastVisibleBannerCount => method_2<int>("m_lastVisibleBannerCount");

		public bool m_amountBannerFlashing => method_2<bool>("m_amountBannerFlashing");

		public bool m_changeActivation => method_2<bool>("m_changeActivation");

		public int Column => method_11<int>("get_Column", Array.Empty<object>());

		public AnimatedLowPolyPack(IntPtr address, string className)
			: base(address, className)
		{
		}

		public AnimatedLowPolyPack(IntPtr address)
			: this(address, "AnimatedLowPolyPack")
		{
		}

		public void Init(int column, Vector3 targetLocalPos, Vector3 offScreenOffset, bool ignoreFullscreenEffects, bool changeActivation)
		{
			method_8("Init", column, targetLocalPos, offScreenOffset, ignoreFullscreenEffects, changeActivation);
		}

		public void FlyInImmediate()
		{
			method_8("FlyInImmediate");
		}

		public bool FlyIn(float animTime, float delay)
		{
			return method_11<bool>("FlyIn", new object[2] { animTime, delay });
		}

		public void FlyOutImmediate()
		{
			method_8("FlyOutImmediate");
		}

		public bool FlyOut(float animTime, float delay)
		{
			return method_11<bool>("FlyOut", new object[2] { animTime, delay });
		}

		public void SetFlyingLocalRotations(Vector3 flyInLocalAngles, Vector3 flyOutLocalAngles)
		{
			method_8("SetFlyingLocalRotations", flyInLocalAngles, flyOutLocalAngles);
		}

		public State GetState()
		{
			return method_11<State>("GetState", Array.Empty<object>());
		}

		public void Hide()
		{
			method_8("Hide");
		}

		public FirstPurchaseBox GetFirstPurchaseBox()
		{
			return method_14<FirstPurchaseBox>("GetFirstPurchaseBox", Array.Empty<object>());
		}

		public void HideBanner()
		{
			method_8("HideBanner");
		}

		public void OnHidden()
		{
			method_8("OnHidden");
		}

		public void OnFlownIn()
		{
			method_8("OnFlownIn");
		}

		public void PositionOffScreen()
		{
			method_8("PositionOffScreen");
		}
	}
}
